Methods, device and systems for determining route metrics using stored route information

ABSTRACT

The disclosure is directed to a method, computer program product, mobile device or a system allowing for determining various route metrics based on stored route records associated with routes traversed by the mobile device. The determination of a route metric may utilize processing of a single route record or multiple route records. Exemplary route metrics include route timing metrics such as lap times, or route record metrics. Configurations of computer program products, mobile devices and systems for enabling the determination of various route metrics are also described.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is the first application filed for the present technology.

TECHNICAL FIELD

The present disclosure relates generally to mobile devices and, inparticular, to techniques for determining various route metricsassociated with a route traversed by the mobile device.

BACKGROUND

Mobile devices have been developed which have the capability to identifytheir own location. These devices may exemplarily use GPS or othertechnologies. Mobile devices are particularly suited to applicationsfacilitating navigation or location-based applications or services, onaccount of their portability. Mobile devices may be wirelesscommunication devices such as cellular telephones, handheld PDAs, andthe like, which are now capable of supporting features beyond voice ortext-based communication between users, such as multimedia features.

Various forms of location-based services are known in the art. At leastsome of these services are configured relative to a check point, fixedeither by a physical limitation or otherwise.

Various conventional approaches have proposed the storage of informationregarding the route traversed by the mobile device. However, theapproaches for determining useful parameters from such storedinformation have been limited.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages of the present technology will becomeapparent from the following detailed description, taken in combinationwith the appended drawings, in which:

FIG. 1 illustrates an exemplary timing sequence diagram for the methodof the disclosure for determining one or more route metrics.

FIG. 2 illustrates an exemplary scenario of the application of themethod of the disclosure for determining a lap time (an exemplary routetiming metric).

FIG. 3 illustrates an exemplary flow chart presenting the method fordetermination of lap time.

FIG. 4 and FIG. 5 illustrate exemplary scenarios, wherein the method ofthe disclosure may be applied for determining a split time (an exemplaryroute timing metric).

FIG. 6 illustrates an exemplary method of the disclosure for arbitrarilydefining a reference point.

FIG. 7 and FIG. 8 illustrate exemplary scenarios of the application ofthe method of the disclosure for determination of custom routes.

FIG. 9 is a schematic of an exemplary network configured for developingcustom routes based on specified parameters.

FIG. 10 is an illustration of a user interface of the mobile devicedisplaying gaps in the a route record.

It will be noted that throughout the appended drawings, like featuresare identified by like reference numerals.

DETAILED DESCRIPTION

The present technology generally provides a method, a computer programproduct, a mobile device or a system allowing for determining variousroute metrics associated with a route traversed by the mobile device.Exemplary route metrics include route timing metrics such as lap times,and route record metrics.

Accordingly, an aspect of the present technology is a method ofdetermining one or more route metrics for a mobile device configured toallow a determination of its location, the method comprising the stepsof: determining if a reference stimulus is actuated; obtaining andstoring in real-time a route record comprising a plurality of samplesets, said sample sets comprising simultaneous time and location data ofsaid mobile device traversing a route after the actuation of thereference stimulus; and processing previously stored sample sets to atleast partially determine said one or more route metrics.

Another aspect of the present technology is a computer program productconfigured to determine one or more route metrics for a mobile deviceconfigured to allow a determination of its location, the computerprogram product comprising code which, when loaded into a memory andexecuted on an associated processor, is adapted to perform: determiningif a reference stimulus is actuated; obtaining and storing in real-timea route record comprising a plurality of sample sets, said sample setscomprising simultaneous time and location data of said mobile devicetraversing a route after the actuation of the reference stimulus; andprocessing previously stored sample sets to at least partially determinesaid one or more route metrics.

Yet another aspect of the present technology is a mobile deviceconfigured to determine one or more route metrics, said mobile devicecomprising: a sensing module configured to determine whether a referencestimulus is actuated; a location identification module configured toobtain location data of said mobile device, after receiving anotification from the sensing module that the reference stimulus isactuated; and a processing module operatively coupled to the sensingmodule and the location identification module, said processing moduleconfigured to obtain time data in a simultaneous fashion with thelocation identification module obtaining the location data, said timeand location data at least partially defining a sample set and aplurality of sample sets defining a route record, said processing modulefurther configured to process previously stored sample sets to at leastpartially determine said one or more route metrics.

The disclosure is directed to a method, computer program product, mobiledevice or a system allowing for determining various route metrics basedon route records associated with routes traversed by the mobile device.The determination of a route metric may utilize processing of a singleroute record or multiple route records. Exemplary route metrics includeroute timing metrics such as lap times, and route record metrics.Configurations of computer program products, mobile devices and systemsfor enabling the determination of various route metrics are alsodescribed.

Route Records & Determination of Route Metrics

The method of the present disclosure may be configured to obtain andstore in real-time one or more route records associated with routestraversed by the mobile device after the actuation of a referencestimulus. The route record comprises a plurality of sample sets, eachsample set comprising simultaneous time and location data of the mobiledevice. A worker skilled in the art would readily appreciate that atleast in some embodiments, the location data may be represented by avector.

Route records such as described above may be used for variousapplications. For example, route records for two different routes may atleast partially be compared to verify if the routes are substantiallythe same.

Route metrics are at least partially determined by processing previouslystored sample sets, either of the same route record or different routerecords. The determination of a route metric may thus utilize processingof a single route record or multiple route records.

Referring to FIG. 1, the method 100 of determining one or more routemetrics 142 involves determining 110 if a reference stimulus isactuated, followed by obtaining 120 and storing 130 of sample sets toform a route record 132 for a route traversed by the mobile device afterthe actuation of the reference stimulus. At least a portion of thepreviously stored sample sets 136 are then processed 140 to determinethe route metrics 142. In embodiments, the sample sets used forprocessing 140 may be limited to the sample sets of the current routerecord 132 or may also use sample sets of additional route records thathave been previously stored. Previously stored route records may not allbelong to the same user or mobile device and as such may also includehistorical route records of other users or mobile devices.

The timing sequence diagram of FIG. 1 is illustrative only and is notintended to limit the scope of the disclosure. For example, a workerskilled in the art will appreciate that the obtaining and storing of thesample sets may not occur sequentially but may also happen in parallelespecially if the obtaining and storing of the different types of data(e.g. location, time) that constitute the same sample set occur atdifferent speeds. In embodiments, the storing of the time data may beunder way while the corresponding location data is still being obtained.

Additionally, the processing 140 of the previously stored sample sets136 need not only occur just after the obtaining 120 and storing 130 ofthe entire route record 132, but may also occur in real-time. Inembodiments, real-time processing capability of previously stored samplesets is used for determining and mapping instantaneous velocities oraccelerations or both, along the route.

Acts associated with the method described herein can be implemented ascoded instructions in a computer program product. In other words, thecomputer program product is a computer-readable medium upon whichsoftware code is recorded to execute the method when the software codeis loaded into a memory and executed on an operatively associatedmicroprocessor, exemplarily of the mobile device or a system.

In embodiments, acts associated with the method described herein can beimplemented as coded instructions in plural computer program products,each of the computer program products being a computer-readable mediumupon which software code is recorded to execute appropriate portions ofthe method when the software code is loaded into memory and executed onan operatively associated microprocessor.

Exemplarily referring to FIG. 9, portions of the method may be performedusing a first mobile device 910, while portions of the method may beperformed using a communicatively linked second mobile device 910 a, oneor more servers 940, 950, or the like. The communication network 930facilitates the sharing of information (e.g. location or time data) andany required signalling needed for coordinating the execution of theentire method.

Route Timing Metrics

In embodiments, the method of the present disclosure may be used todetermine one or more route timing metrics. In embodiments, locationdata of previously stored sample sets are compared to determine one ormore matched sample sets, based on a match criterion. The time data ofthe matched sample sets is at least partially used to determine theroute timing metrics.

In embodiments, the actuation of a lap reference stimulus is used todefine a lap reference sample set and thus a lap reference point. Asample set is determined as a matched sample set if a comparison of itslocation data satisfies a match criterion with the location data of thelap reference sample set. Lap times for a route can be determined byusing the time data of the matched sample sets and the lap referencesample set.

Referring to FIG. 2, a lap time for a first lap 201 may be calculatedwith respect to a lap reference point A 210 based on the matched sampleset (r′˜r_(A),t′) and (r_(A),t′_(A)) where ˜ indicates that the matchcriterion is satisfied. A lap time for a second lap 202 may becalculated based on the matched sample set (r″˜r_(A),t″) and(r_(A),t″_(A)). Lap times for different laps may be compared fordetermining which lap was quicker. The location data of the routerecords of different laps may also be compared to determine if the lapswere substantially the same.

FIG. 3 illustrates an exemplary real-time implementation of the methodof the disclosure for definition of a lap reference point, andcalculation of lap times. The method 300 comprises: determining 310whether a lap reference stimulus has been actuated; obtaining andstoring 320 location and time data of the lap reference point defined bythe actuation of the lap reference stimulus; obtaining and storing 330in real-time time and location data of the mobile device traversing alap, to form a lap record; comparing 340 location data for a match asspecified by a match criterion, and determining 350 lap time if thematch criterion has been satisfied.

In one embodiment, computation of path length may be used to determinelap distance, or combined with lap time information to provide averagespeed during a lap. In some embodiments, a path length may be computedor approximated to facilitate providing data such as distance travelledalong a path, proportion of total distance travelled, average speed orvelocity, or the like. Computation of path lengths may be performed byapplication of methods as would be readily understood by a workerskilled in the art, such as curve rectification methods, approximationby straight line segments, numerical integration, or the like.

In embodiments, a split time representing the time for traversing aroute between a start reference point and a stop reference point, can bedetermined. Referring to the scenario of FIG. 4, reference points A 410and B 420, arbitrarily defined apriori or at least partly in real time,may be considered as start reference point and stop reference pointrespectively. A split time for a user travelling from start referencepoint A 410 and stopping at stop reference point B 420 is calculated asfollows: The time and location data of the mobile device at the startreference point is obtained and stored to define a start referencesample set (r_(A),t_(A)). A plurality of sample sets (r,t) ofsimultaneous time and location data are obtained and stored followingthe start reference stimulus, to form a route record. The plurality ofsample sets generally represents time and location data obtained,exemplarily in real time at a predetermined fixed or variable samplingrate. The location data r of each sample set (r,t) is compared with thelocation data r_(B) of the stop reference point B 420 to determine ifthere is a match, as specified by a predetermined or chosen matchcriterion. For all matched sample sets (r˜r_(B),t), the split times aredetermined based on the time data of the matched sample sets and thestart reference sample set.

Referring to FIG. 5, split times for different routes between areference point A 510 (defined in a first scenario as a start referencepoint for a route), and a reference point B 520 (defined in thisscenario as a stop reference point for a route) can be compared. Thefirst split time is determined based on the time data of matched sampleset (r′˜r_(B),t′) and the start reference sample set (r_(A),t′_(A)),while the second split time is determined based on the time data ofmatched sample set (r″˜r_(B),t″) and the start reference sample set(r_(A),t″_(A)).

Methods of the present disclosure may also be configured for themeasurement of bi-directional split times. In this scenario, the firstsplit time refers to the time taken for the travel from a referencepoint X to a reference point Y, while the second split time refers tothe time taken for the travel from reference point Y to the referencepoint X.

Comparison of split times for substantially differing routes may beutilized for determining, for example, a faster route between tworeference points. In embodiments, the methods of the disclosure may beconfigured to define a split time if the route traversed by the mobiledevice is substantially similar to a route that is pre-determined orspecified or previously traversed.

The match criterion may be pre-determined or chosen. In embodiments,methods of the present disclosure may be configured to consider a sampleset (r′,t′), (r″,t″) as a matched sample set, if its location data r′,r″is within a chosen or predetermined range of the location data r_(B) orr_(A) of the reference points B 520 or A 510, respectively. This isindicated in FIG. 5, by the dotted ellipses 512, 522 around referencepoints A 510 and B 520, the sizes of which can be optionally modifieddepending on the preference of the user or the resolution of thetechnology utilized by the means for determining the location, and maybe different for the start and stop reference points.

Methods of the present disclosure may also utilize alternative matchcriteria. In embodiments, the match criterion may be defined such thatthe criterion is satisfied at a specific location if there issubstantial orthogonality between the following two vectors: theinstantaneous velocity vector of the mobile device at the specificlocation; and the vector difference between the location vectorsdefining the specific location and the stop reference point. Forembodiments using this match criterion, the split time may not bedetermined based on the time data of the first instance of the mobiledevice being in the proximity of the stop reference point.

Exemplarily, a plurality of sample sets may be processed to determine anestimated time of arrival for a destination point.

Route Record Metrics

“Gaps” in a route record can be created when at least a portion (e.g.time data, location data) of the corresponding sample sets does not meetan accuracy criterion, for example, is lacking in accuracy orresolution, or is altogether missing. Exemplarily, for a mobile deviceutilizing GPS-based technology, location data may be missing when thereis signal loss between the mobile device and the GPS-satellite system.The accuracy criterion may be predetermined or selected by a user. Asexemplarily shown in FIG. 10, the user interface 1016 of the mobiledevice may be configured to display the route and to indicate such gaps1020 a, 1020 b, 1020 c therein.

The route record may be enhanced by determination of sample setscorresponding to the gaps in the route record by interpolation orextrapolation of previously stored sample sets that have satisfactoryaccuracy. A worker skilled in the art would be familiar with appropriateinterpolation and extrapolation techniques. The sample setscorresponding to the gaps in the route record may therefore beconsidered as route record metrics.

Appropriate interpolation and extrapolation techniques may exemplarilyinclude but are not limited to the following: a straight-lineinterpolation technique; techniques utilizing geographical information(e.g. map data) for interpolation; techniques utilizing historical routerecords; or a combination of the above techniques.

In embodiments, the inserted route record metrics for the gaps in theroute record may also utilize sample sets of previous instances oftravel on the same or sufficiently similar route. Exemplarily, thehistorical route records of the mobile device's user may be used forupdates. Historical route records of other users may also be used todetermine the route record metrics that is to be inserted. For example,records of a previous group of athletes may be used. For example,curve-fitting methods such as the method of least squares may utilizesuch information to insert route data, as would be readily understood bya worker skilled in the art.

In embodiments, the geographical terrain information can be utilized toidentify or sort one or more options that account for the gaps in theroute record. For example, an option that involves a fifteen-foot dropmay be set as the least likely option if the user of the mobile devicewas known to be travelling on foot. Cliffs or walls may be used todefine constraints or boundaries on the set of possible routes s wheninserting route data. Maximum or minimum instantaneous or average speedsmay also be used to define constraints on the set of possible routeswhen inserting route data.

In embodiments, map data may be used for interpolation andextrapolation. Such map data may include information about known streetsor trails in the region. Known streets or trails may be placed as a morelikely route in a sorted list of possible routes.

In embodiments, the user of the mobile device may be allowed to validatethe sample sets inserted for the gaps in the route record. The user mayalso be given the option to add additional information to complete theroute record. For example, a user may choose to start running evenbefore his/her mobile device has acquired a GPS signal. While the routerecord will only contain information after the mobile device hasestablished an operative association with the GPS-satellites, the usermay be given the option to add the information for the initial part ofthe route. In embodiments, at least a portion of the sample sets orreference sample set may thus be obtained from a user interface of themobile device.

In embodiments, the mobile device may prompt the user to at leastpartially validate the route record if a possible measurement error hasoccurred. For example, if the user has crossed a wall or cliff boundary,or if the user has exceeded a predetermined maximum instantaneous oraverage speed, the mobile device may prompt the user to validate theroute record. The mobile device may additionally compute and propose aset of likely alternative route records in such cases.

Referring to FIG. 9 and in accordance with some embodiments, the mobiledevice also comprises a data collection module 919, which may beconfigured for collection of other forms of data (e.g. audio, video,images, text for example short messages from the user, monitoring datafor example heart rate measurements, etc), which may be associated withone or more of the sample sets of the route record. In embodiments, themobile device further comprises a camera, and as such a jogger may takephotographs at various locations along the route and associate eachphotograph with a corresponding sample set which may enhance the routerecord. In this embodiment, the one or more data files representative ofan event (e.g. a running event) can be created that include variousadditional forms of data (e.g. photos, audio, video etc). Such data mayexemplarily allow a user to indicate the mode of transport (e.g. walk,drive) used at various stretches of the route.

Reference Stimulus

The reference stimulus is a signal, trigger, or other stimulus used toenable the definition of a reference point exemplarily by the collectionof data (e.g. location data, time data or both). The reference stimuluscan be one or more signals of a variety of different types (e.g. anelectronic signal, an audio signal, etc.).

A plurality of reference points can be arbitrarily defined by theactuation of corresponding reference stimuli. Each reference point canbe associated with a corresponding reference sample set comprising thelocation data and the time data of the mobile device at the actuation ofthe reference stimulus.

For example, arbitrarily defining one or more reference points may referto a feature or capability for selecting substantially any referencepoint from a predetermined group of reference points, for examplesubstantially any geographic coordinate in a predetermined geographicarea. The reference point may be defined via an internal or externalsource such as a user, computer program, communicatively coupled device,or a combination thereof, for example. In embodiments, the referencepoints are not pre-programmed or pre-set but can be defined arbitrarilyand optionally in real time.

FIG. 6 illustrates an exemplary method 600 for arbitrarily defining oneor more reference points for a mobile device. The method 600 comprises:determining 610 whether a reference stimulus has been actuated; andobtaining and storing 620 location data of the mobile devicesubstantially at the actuation of the reference stimulus to define areference point.

In embodiments, the mobile device is configured to define two referencepoints to serve as a start reference point and a stop reference point.The location and time data of the mobile device at the actuation of astart reference stimulus and a stop reference stimulus are used tocreate a start reference sample set and a stop reference sample setrespectively. In embodiments, the mobile device defines a single lapreference point, at the actuation of a lap reference stimulus. Thelocation and time data of the mobile device at the actuation of the lapreference stimulus is used to create a lap reference sample set.

As noted earlier, the reference stimulus can be one or more signals of avariety of different types (e.g. an electronic signal, an audio signal,etc.). In embodiments, the reference stimulus is an audio signal of apredetermined or chosen frequency or decibel range. Appropriate sensingmeans may exemplarily use a microphone, and associated electroniccircuitry appropriately designed to determine if a received audio signalsatisfies the predetermined or chosen frequency or decibel range.

In embodiments, the reference stimulus is an electronic digital signal(e.g. a pre-determined or chosen reference bit sequence). The sensingmodule may comprise a receiver and logic module configured to compare areceived bit sequence for a match with the pre-determined or chosenreference bit sequence. The reference stimulus is determined to beactuated if the comparison reveals a substantial match.

In embodiments, the reference stimulus may be triggered or detected bythe actuation of a reference stimulus option by the user of the mobiledevice. The reference stimulus option may be implemented in eithersoftware or hardware. Exemplarily, the reference stimulus may betriggered by actuating an icon displayed on an output user interface,for example using a mouse or a touch screen; or by an actuation of ahardware element such as a button, a combination of keys on a keypadetc. In embodiments, a button is actuated to trigger the referencestimulus and thereby the definition of the reference point.

Alternately, the reference stimulus may be provided by a referencesignal sent from a communicatively linked server, or from another mobiledevice. As the reference points are defined only by the correspondingreference stimuli, they can be arbitrarily chosen from a plurality ofpossible locations, exemplarily within a predetermined set of locationssuch as Earth, North America, etc.

In some of the embodiments that define a start reference point as areference point based on the actuation of a start reference stimulus,the start reference stimulus may be triggered either by the first orlast actuation of a start reference stimulus option at a plurality ofcommunicatively linked mobile devices. Exemplarily, each mobile devicemay be associated with a participant of a race. In this context, allrace participants may thus start the race when either the firstparticipant is ready or the last participant is ready. In embodiments, aplurality of mobile devices define their reference points at theactuation of a common reference stimulus from a communicatively linkedserver, exemplarily actuated by a coach for training of multipleathletes. The reference points for the various athletes may all bedistinct, and may be spaced apart by large distances (e.g. in differentcities).

The reference points may be defined arbitrarily apriori or at leastpartly in real-time. In embodiments, the reference points are defined,and stored for use when traversing routes at a later time (e.g. a daylater). In embodiments, the reference points are defined in real-time;e.g. at substantially the first instant of starting the route. Areference point may be selected from a predetermined group of points,which may be limited by a predetermined resolution.

Data Collection & Communication

In embodiments, the mobile device allows for transfer of data with othermobile devices or one or more servers communicatively linked with saidmobile device. Exemplarily, this data may include the referencestimulus.

In embodiments, the mobile device is a wireless communications devicecapable of transmitting or receiving information, or both, via awireless communication medium such as radio, infrared, or the like. Thecommunication capabilities of wireless communications device may includevoice communication capabilities, data communication capabilities, or acombination thereof. The term “wireless communications device”, for thepurposes of this specification, shall include any wireless handheld,smart phone, PDA, tablet, laptop, notebook, netbook, or othercommunications device that is capable of transmission and reception ofdata via a wireless communication medium such as radio, infrared or thelike.

As discussed earlier, the mobile device may be configured for collectionof other forms of additional data (e.g. audio, video, images, shortmessages from the user etc), which may be associated with or included aspart of one or more of the sample sets. The additional data associatedwith the one or more sample sets may be stored either on the mobiledevice, or transferred to a server for optionally enabling “play-back”of the event, or transferred to other mobile devices communicativelylinked therewith. In embodiments, at least part of the data transferoccurs in real-time.

Exemplarily, the transfer of data allows for simulation of competitiveraces between users of different mobile devices, even if the users areseparated geographically. In an embodiment, audio signals associatedwith different sample sets may be transferred in real-time fashion toupdate other race participants that are using the communicatively linkedmobile devices, while video signals associated with different samplesets may be transferred to a central server for later playback. Inembodiments, both audio and video signals can be transferred to one ormore other mobile devices in real time.

A worker skilled in the art would appreciate that the forms of data thatmay be transferred in real-time may depend on the bandwidth capabilitiesof the communication network infrastructure providing the datatransmission capability. Audio signals may be transferred either incircuit-switched or packet-switched fashion.

In embodiments, part of the data that is transferred is at leastpartially derived from the sample sets. Exemplarily, an estimated timeof arrival at a destination may be determined by processing a pluralityof sample sets, and the estimated time of arrival sent to users of othermobile devices, or a central server.

In some embodiments, the data transferred between mobile devices takesthe form of one or more short data messages, such as friendly tauntsbetween various race participants. Alternately, the friendly tauntsbetween the competitors may be audio signals. In one embodiment, thecommunication network may be used by a coach or a race director totransmit a message to training athletes or race participantsrespectively. The communication signals may be broadcast or multicast(for example, a team leader sending signals to the rest of the team,namely the other mobile devices). Appropriate communication protocolsand network architectures that support various types of communicationwould be readily known to a worker skilled in the art.

In embodiments, the functionality of data transfer is integrated withthe one or more computer program products configured to achieve theremaining functionalities of the mobile device (e.g. lap timedetermination), thus obviating the need for a user to access a separatesoftware module (e.g. email) for data transfer.

As another example, the transfer of data allows for simulation ofcompetitive races between users of different mobile devices, even ifthey are separated in time. For example, a mobile device may obtainroute records indicative of one or more other users' previousperformances, or of the same user's performance on a previous occasion.The user may then race against one or more previous users, andoptionally record and provide individual or aggregate event informationfor subsequent usage. Such activity may be regarded for example as aform of interactive time trial. For example, event information may berecorded at a geo-caching site, and retrieved by subsequent devicesvisiting the site, thereby enabling a combined geo-caching and virtualracing activity.

Custom Route Determination

In embodiments, the mobile device and method of the disclosure may beconfigured to identify or obtain a custom route for a user thatsatisfies various parameters.

The processing required for the identification or determination of thecustom route may be performed by the mobile device of the user, by aserver operated exemplarily by a service and application provider, or bya combination of both. The exact distribution of the processing burdenmay at least partly depend on the computational capabilities of thedifferent processing entities, and of the communication capabilitiesbetween the different entities. One or more load balancing activitiesmay be performed for distribution of processing burden, as would bereadily understood by a worker skilled in the art.

Exemplarily, the processing burden for the determination of the customroute may be shifted between the mobile device and a server, based onthe time-variant data rates that may be available at the communicationlink there-between. In embodiments, if the communication link betweenthe mobile device and the server is slow or substantially non-existent,the mobile device may default to determining the custom route itself. Ifthe communication link between the mobile device and the server providessufficiently high data rates, the computation may be shifted to theserver. In these embodiments, the mobile device may be configured, atthe time of request for a custom route, to probe the associatedcommunication network to determine potentially available data rates.

Information required for the processing may at least partly be stored onthe mobile device of the user, on the server of the service andapplication provider, or on a server of a data and content providercommunicatively linked with the appropriate processing entities. Thisinformation may include geographical information, historical routerecords of users of interest, tourist information, weather parametersetc.

In one embodiment, the method for identifying or determining the customroute comprises the following acts: obtaining location data of areference point for the development of the custom route, the referencepoint being the location of a mobile device at the actuation of areference stimulus; obtaining one or more parameters of a custom route,exemplarily from a user of the mobile device; obtaining information fora region proximal to or including the reference point; and identifyingone or more routes, if any, within the region satisfying the parameters,utilizing at least partially the information for the region and theparameters, for selection of a custom route therefrom.

Referring to FIG. 9, the mobile device is a wireless communicationsdevice 910 operatively associated with a GPS system 920 allowing fordetermining its location. The mobile device 910 is linked to a cellularnetwork 930 through a base-station 932, and thereby to one or moreservers 950 of a service and application provider, and to one or moreservers 940 of a data and content provider. Additional mobile devices910 a may be linked to the cellular network 930 using the same basestation 932 or a separate base station 932 a. The cellular network 930thus serves for data transfer between peer mobile devices 932, 932 a.

In embodiments, on request of a custom route and parameters of choicefrom a user of the mobile device 910, the service and applicationprovider obtains various types of information about a region from thedata and content provider, and undertakes the processing required fordetermining if any routes within the region can satisfy the parametersof choice. The results of the processing can be sent back to the mobiledevice 910 through the cellular network 930 and its base-station 932. Aworker skilled in the art would readily appreciate that the same networkconfiguration can be used for providing various other applications, andis not limited to the application of the custom route determination.

The reference point for the development of said custom route may be thelocation of the user at the actuation of a reference stimulus (i.e., thereference point).

At least some of the parameters for the custom route may be set by theuser, or by one or more third parties communicatively linked with theuser. Parameters may exemplarily include at least one of the following:start reference point for the custom route, total distance of customroute, total expected time for completion of custom route, terrainparameters such as inclination (e.g. hilly, flat etc.), nature ofsurface (e.g. paved surfaces, grassy areas etc.), mode of transport(e.g. walking, canoeing etc.), tourist or geographical parameters (e.g.local tourist landmarks, locations with “best views”, parks etc). Theuser may specify desired maximum or minimum limits on quantitativeparameters such as route distance, completion time, total verticaltravel, or the like.

In embodiments, the user may specify that the custom route satisfy thefollowing parameters, exemplarily based on the mode of transport: afirst distance by foot, a second distance by cycling, and a thirddistance by swimming. Such embodiments may be utilized for designingcustom triathlon-type routes in a region of interest relative to anarbitrarily defined reference point.

Exemplarily, the start reference point of a custom route for an athletemay be specified by his/her training coach (third party user). The startreference point may also be derived by a discussion between multiplethird party users and the user. The start reference point for the customroute may coincide with the reference point used for the determinationof the custom route, or be within a certain geographical distance of thesame.

In embodiments, the mobile device may provide a form that allows theuser to select one or more options (e.g. using a drop-down menu) for thevarious parameters for a custom route. The device may also request theuser to set default states for at least a few of the parameters.

In embodiments, one or more custom route parameters may be associatedwith a degree of difficulty for the route. For example, the user mayspecify a degree of difficulty which represents a collection ofparameters for determining the custom route. Alternatively, the degreeof difficulty may be calculated based upon user-specified parameters. Adegree of difficulty may be used for competitive race purposes, forexample.

The identification of one or more custom routes may be first limited toa region of interest including the reference point. Various algorithmsmay be used for the identification of the custom routes, as would bereadily known to a worker skilled in the art.

In one scenario, the processing for the custom routes may determine thatmultiple routes within the region of interest satisfy the parameters ofchoice. Referring to FIG. 7, the results of the processing for thecustom route are displayed on a user interface of the mobile device foran exemplary scenario where the region of interest 711 including areference point A 710 has two routes 716, 717 that satisfy theparameters of choice.

Alternately, the processing for custom route determination may result innot finding any suitable custom routes within the region of interest,which sufficiently satisfy the selected parameters. In either case, theuser may be provided with options to modify the parameters of the customroute. When multiple routes are found, the user may manually choose oneas the custom route. Alternately, the multiple routes may be sorted orautomatically selected based on the previously stored sample sets.

For the scenario when no routes that sufficiently satisfy the parametersare found in the region of interest, the user may be provided with theoption of either manually choosing a second region of interest.Referring to FIG. 8, the results of the processing for the custom routeare displayed on a user interface of the mobile device for an exemplaryscenario wherein the processing within the first region of interest 811including the reference point A 810 did not provide any satisfactoryresults. However, processing within a second region of interest 821results in determining a custom route 826 that satisfies the parametersof choice.

Alternately, the processors may be configured to automatically repeatthe calculations for a second region of interest, which may or may notoverlap with the first region of interest. The processing algorithms maybe configured to minimize the processing when the first and secondregions of interest at least partially overlap (for example, FIG. 8).

In embodiments, determining a custom route based on custom routeparameters may comprise determining one or more routes which mostclosely satisfy the custom route parameters. For example, if one or moreroutes can be found which completely satisfy the parameters, at leastone of these routes may be proposed to the user. However, if no routewhich completely satisfies the parameters can be found, one or moreroutes which closely satisfy the parameters may be provided to the userfor selection.

Mobile Device

The mobile device comprises a processing module, a locationidentification module and a sensing module. The sensing module isconfigured to determine whether a reference stimulus is actuated andcomprises sensing means appropriate to the nature of the expectedreference stimulus. The location identification module is configured toobtain location data of the mobile device and may utilize varioustechnologies, as discussed below. The processing module is operativelyassociated with the sensing and location identification modules, and maybe configured to coordinate their functions, and to process differenttypes of data using one or more processors. In embodiments, theprocessing module may comprise or be operatively associated with amemory module configured for storage of different types of data.Appropriate processing modules would be readily known to a workerskilled in the art.

As discussed earlier, the reference stimulus may be one or more signalsof a variety of types (e.g. audio, digital bit sequence etc). A workerskilled in the art would readily design a suitable sensing module withappropriate sensing means. As such, appropriate sensing means are not tobe limited to any exemplary means mentioned herein. Exemplarily, thesensing means may be a microphone if the reference stimulus is an audiosignal, or an electronic receiver if the reference stimulus is anelectronic bit sequence.

In embodiments, GPS receivers may be used to determine the location ofthe mobile device(s). However, it should be appreciated that othertechniques can be used to determine the current location to a degree ofaccuracy commensurate with the technique used. For example, cell towertriangulation or radiolocation techniques can be used to generate thecurrent location for the device. Alternatively, the identity (andlocation) of the cell tower handling the mobile device's communicationscan be used as a proxy for the location of the mobile device. Anotherapproach for location identification would be to prompt the user of thedevice to enter his or her current location (e.g. entering a streetaddress, picking a point of interest (POI) from a map or selecting thecurrent location using crosshairs on a map). As yet another example,Global Navigation Satellite Systems (GNSS) or pseudo-satellite systemsother than or in addition to a GPS system may be used. For example,GLONASS, Beidou, COMPASS, Galileo, or like systems may be utilized fordetermining the location. Satellite-based, regional, or network-basedaugmentation or improvement systems such as WAAS and A-GPS may also beutilized to aid in determining the location of the mobile device.

In embodiments, the location identification module of the mobile devicemay be configured to trigger at the actuation of a reference stimulus,for determination of the location data at substantially the sameinstant. A worker skilled in the art would appreciate that the time lagbetween the actuation of the reference stimulus and the determination ofthe location data depends on the technology used for determining thelocation and determining the actuation of the reference stimulus.Appropriate technologies may be chosen to satisfy a predetermined orchosen range for this time lag.

FIG. 9 also shows a block diagram depicting certain main components ofan exemplary mobile device 910 with wireless communications capability.It should be understood that this figure is intentionally simplified toshow only certain components; the device 910 may include othercomponents beyond those shown in FIG. 9. The device 910 comprises aprocessing module 911, which includes a microprocessor 912 (or simply a“processor”) and operatively associated memory 914 (in the form of RAMor flash memory or both), to enable a variety of device functions and toexecute an operating system for running software applications loaded onthe device. The device 910 includes a radiofrequency (RF) transceiver918 for communicating wirelessly with the base station 932 of a wirelessnetwork 930. The device 910 may additionally comprise a sensing module915 configured to determine if a reference stimulus has been actuated.

The RF transceiver 918 may optionally be alternatively or additionallyused for communicating directly with a peer device such as a third partywireless communication device, for example as may occur in some ad-hocnetworks. The base station 932 may be a cellular base station, wirelessaccess point, or the like. The base station 932 may vary as the wirelessdevice travels, for example, using well-known handoff processes incellular networks. The RF transceiver 918 enables access to a wirelesscommunication channel for transmitting and receiving data. The RFtransceiver 918 may further allow for a wireless voice channel fortransmitting and receiving voice communications, for exampleconcurrently with transmission and reception of data over the same or aseparate logical or physical channel.

The mobile device 910 further comprises a location identification module917, which is configured to determine the location of the mobile device.The location identification module 917 is a GPS receiver chipset forreceiving GPS radio signals transmitted from the one or more orbitingGPS satellites 920. The GPS receiver chipset can be embedded within thedevice or externally connected, such as, for example, a Bluetooth™ GPSpuck or dongle. Other systems for determining location may be used inplace of GPS, as would be readily understood by a worker skilled in theart.

In terms of input/output devices or user interfaces (UI's) 916, thedevice 910 may include one or more of the following: a display (e.g. asmall LCD screen), a thumbwheel, a trackball, a keyboard, touch screen,a keypad, a button, a USB or serial port for connecting to peripheralequipment, a camera, a display, a speaker and a microphone. The displaymay optionally have touch-screen functionality.

The user interface may be configured to signal or alert the user of themobile device that a portion of the sample sets or the route metrics orboth do not meet a performance criterion. Such signals may either bevisually displayed, or may be an audible signal or a tactile signal(e.g. vibration).

In embodiments, the user interface may be configured to signal to a userof the mobile device running a lap, how their current performancecompares with historical performances. Exemplarily, the method of thedisclosure may be configured to compare the location data of the currentroute at one or more specified points of time, with the location data ofhistorical route records (of the same user or other users) atcorresponding points of time. Alternatively, the time data of thecurrent route at one or more specified locations may be compared withthe time data of historical route records. The user interface may beconfigured to signal the user if their current performance lags theirprevious performances. In one embodiment, an audible signal may beconfigured to be at a high volume if the performance lag is significantand at a low volume if the lag is minimal.

Referring to FIG. 7, the user interface can show the custom routes 716,717 and the region. The success of the processing required for thedetermination of the custom route can be indicated using indicator LEDS‘No’ 736 and ‘Yes’ 737. In one embodiment, a failure in determination ofa custom route may also be indicated to the user by an audible signal.

The wireless communication device 910 sends and receives communicationsignals via the RF transceiver 918. When communicating wirelessly with abase station 932 of a wireless network 930, the device 910 maycommunicate in accordance with one or more appropriate technologies suchas: Global Systems for Mobile communications (GSM), General Packet RadioService (GPRS), Code Division Multiple Access (CDMA) technologies,Wideband CDMA (WCDMA), whether 2G, 3G, High speed packet access (HSPA),Universal Mobile Telecommunication System (UMTS) based technologies,Long Term Evolution (LTE) technologies, Orthogonal Frequency DivisionMultiplexing (OFDM) technologies, Ultra-Wideband (UWB) technologies,WiFi™ or WiMAX™ technologies, or other communication technologies andprotocols as would readily be understood by a worker skilled in the art.In some embodiments, the wireless device 910 may be capable of operationusing multiple protocols. The base station 932 may be part of a wirelessnetwork, such as a cellular network, local-area network, wide-areanetwork, wireless hotspot network, or the like. The wireless device,base station, network components, and the like, may be configured fordata communication, voice communication, or a combination thereof,possibly using additional components, configurations and procedureswhere appropriate, such as SIM cards, authorization and authenticationprocedures, handoff procedures, and the like, as would be readilyunderstood by a worker skilled in the art.

This new technology has been described in terms of specificimplementations and configurations (and variants thereof) which areintended to be exemplary only. The scope of the exclusive right soughtby the applicant is therefore intended to be limited solely by theappended claims.

The invention claimed is:
 1. A method of determining one or more routemetrics for a mobile device configured to allow a determination of itslocation, the method comprising the steps of: determining if a referencestimulus is actuated; obtaining and storing in real-time a route recordcomprising a plurality of sample sets, said sample sets comprisingsimultaneous time and location data of said mobile device traversing aroute after the actuation of the reference stimulus; and processingpreviously stored sample sets to at least partially determine said oneor more route metrics, wherein said processing includes comparing thelocation data of previously stored sample sets to determine one or morematched sample sets, said comparing based on a match criterion, anddetermining one or more route timing metrics at least partially usingthe time data of said matched sample sets.
 2. The method of claim 1,wherein said processing is performed in real-time.
 3. The method ofclaim 1, wherein said processing is performed using previously storedsample sets of the same route record or using previously stored samplesets of different route records.
 4. The method of claim 1, wherein asample set is determined as a matched sample set if a comparison of itslocation data satisfies a match criterion with the location data of alap reference sample set obtained at the actuation of a lap referencestimulus, and the time data of said matched sample set and lap referencesample set is used to determine a lap time.
 5. The method of claim 1,wherein said route timing metric is a lap time, a split time, anestimated time of arrival, an average lap speed, an instantaneousvelocity, or an instantaneous acceleration.
 6. The method of claim 1,wherein said match criterion is satisfied if the location data of afirst previously stored sample set is within a chosen or pre-determinedrange of the location data of a second previously stored sample set. 7.The method of claim 1, wherein said processing includes interpolating orextrapolating the location data of previously stored sample sets todetermine sample sets of said route record, wherein at least a part ofsaid sample sets is inaccurate, based on an accuracy criterion.
 8. Themethod of claim 1, further comprising creating one or more data files,wherein one or more of the sample sets includes one or more data files,said one or more data files indicative of one or more of an image, textor audio.
 9. The method of claim 1, wherein said determining of saidroute metrics is performed by said mobile device, by a communicativelylinked server, or by a communicatively linked peer mobile device. 10.The method of claim 1, further comprising transferring data with one ormore peer mobile devices or servers, communicatively linked with saidmobile device, said data indicative of one or more of the sample sets.11. The method of claim 10, wherein at least part of said transfer ofdata occurs in real-time.
 12. The method of claim 1, wherein at least aportion of said sample sets is obtained from a user of said mobiledevice.
 13. A method of determining one or more route metrics for amobile device configured to allow a determination of its location, themethod comprising the steps of: determining if a reference stimulus isactuated; obtaining and storing in real-time a route record comprising aplurality of sample sets, said sample sets comprising simultaneous timeand location data of said mobile device traversing a route after theactuation of the reference stimulus; and processing previously storedsample sets to at least partially determine said one or more routemetrics, the method further comprising: obtaining one or more parametersof a custom route; obtaining information for a region proximal to orincluding a reference point defined by the location data of said mobiledevice at the actuation of said reference stimulus; and identifying ifany, utilizing at least partially said information for the region andsaid parameters, one or more routes within said region satisfying saidparameters, for selection of a custom route therefrom based on saidprocessing of the previously stored sample sets.
 14. A computer programproduct configured to determine one or more route metrics for a mobiledevice configured to allow a determination of its location, the computerprogram product comprising a non-transitory computer readable mediumhaving code embedded therein which, when loaded into a memory andexecuted on an associated processor, is adapted to perform: determiningif a reference stimulus is actuated; obtaining and storing in real-timea route record comprising a plurality of sample sets, said sample setscomprising simultaneous time and location data of said mobile devicetraversing a route after the actuation of the reference stimulus; andprocessing previously stored sample sets to at least partially determinesaid one or more route metrics, wherein said processing includescomparing the location data of previously stored sample sets todetermine one or more matched sample sets, said comparing based on amatch criterion, and determining one or more route timing metrics atleast partially using the time data of said matched sample sets.
 15. Acomputer program product configured to determine one or more routemetrics for a mobile device configured to allow a determination of itslocation, the computer program product comprising a non-transitorycomputer readable medium having code embedded therein which, when loadedinto a memory and executed on an associated processor, is adapted toperform: determining if a reference stimulus is actuated; obtaining andstoring in real-time a route record comprising a plurality of samplesets, said sample sets comprising simultaneous time and location data ofsaid mobile device traversing a route after the actuation of thereference stimulus; and processing previously stored sample sets to atleast partially determine said one or more route metrics, wherein saidprocessing includes interpolating or extrapolating the location data ofpreviously stored sample sets to determine sample sets of said routerecord, wherein at least a part of said sample sets is inaccurate, basedon an accuracy criterion.
 16. A mobile device configured to determineone or more route metrics, said mobile device comprising: a sensingmodule configured to determine whether a reference stimulus is actuated;a location identification module configured to obtain location data ofsaid mobile device, after receiving a notification from the sensingmodule that the reference stimulus is actuated; and a processing moduleoperatively coupled to the sensing module and the locationidentification module, said processing module configured to obtain timedata in a simultaneous fashion with the location identification moduleobtaining the location data, said time and location data at leastpartially defining a sample set and a plurality of sample sets defininga route record, said processing module further configured to processpreviously stored sample sets to at least partially determine said oneor more route metrics, wherein the processing module is configured tocompare the location data of previously stored sample sets to determineone or more matched sample sets, said comparing based on a matchcriterion, and to determine one or more route timing metrics at leastpartially using the time data of said matched sample sets.
 17. Themobile device of claim 16, wherein the processing module is configuredto interpolate or extrapolate the location data of previously storedsample sets to determine sample sets of said route record, wherein atleast a part of said sample sets is inaccurate, based on an accuracycriterion.
 18. The mobile device of claim 16, further comprising a datacollection module configured for collection data indicative of one ormore of an image, text, monitoring data and audio, wherein each piece ofdata can be associated with one or more of the sample sets.
 19. Themobile device of claim 16, further comprising a user interfaceconfigured to signal a user of the mobile device if said previouslystored sample sets or said route metrics at least partially do not meeta performance criterion.